<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text-html; charset=Windows-1252">
<LINK REL="stylesheet" HREF="../Orbiter.css" TYPE="TEXT/CSS" />
<LINK REL="stylesheet" HREF="OrbiterAPI.css" TYPE="TEXT/CSS" />
<title>Script API</title>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000>
<p class="header"><a href="intro.htm">Orbiter</a> &gt; Script</p>

<p style="margin-top: 1.5em; margin-bottom: -0.5em"><IMG SRC="banner_script.jpg" WIDTH="100%"></p>
<h1>Orbiter Scripting</h1>

<p>Orbiter contains a script interpreter module which allows to control a variety of simulation
tasks with the help of scripts. Script applications include autopilots, MFD control, interactive
tutorials, mission control, and many others.</p>

<p>The Orbiter script engine uses the Lua scripting language (<a href="www.lua.org">www.lua.org</a>).
A large number of functions and methods have been added to the standard Lua command set to provide an
interface to the Orbiter simulation environment. To a large extent the Lua-Orbiter interface
replicates the Orbiter C++ API interface.</p>

<p>This manual describes the Orbiter extensions to Lua. It is not a general introduction to Lua.
To learn how to write Lua scripts, please consult the documentation and resources available
on the Lua website.</p>

<h2>Contents</h2>
<h3>User's Guide</h3>
  <ul>
  <li><a href="Invoking.htm">Invoking the interpreter</a></li>
  <li><a href="Invoking.htm#invoke_example">Interactive usage examples</a></li>
  <li><a href="ScriptVessel.htm">Vessel scripts</a></li>
  <li><a href="ScriptMfd.htm">MFD scripts</a></li>
  <li><a href="mission.htm">Mission scripts</a></li>
  <li><a href="devel.htm">Interpreters for developers</a></li>
  </ul>
<h3>Script reference</h3>
  <ul>
  <li><a href="Datatypes.htm">Data types and structures</a></li>
  <li><a href="constant.htm">Constants and identifiers</a></li>
  <li><a href="function.htm">Script functions</a></li>
    <ul>
    <li><a href="api_vec.htm">vec: Vector and matrix utility library</a></li>
    <li><a href="api_proc.htm">proc: Script process control</a></li>
    <li><a href="api_oapi.htm">oapi: General Orbiter API functions</a></li>
    <li><a href="api_vessel.htm">vessel: Vessel access functions</a></li>
    <li><a href="api_bit.htm">bit: bit manipulation library</a></li>
    </ul>
  <li><a href="function.htm">Class methods</a></li>
    <ul>
    <li><a href="mtd_vessel.htm">Vessel methods</a></li>
    <li><a href="mtd_mfd.htm">MFD methods</a></li>
    <li><a href="mtd_light.htm">Localised light source methods</a></li>
    <li><a href="mtd_skp.htm">Sketchpad methods</a></li>
    <li><a href="mtd_note.htm">Annotation methods</a></li>
    </ul>
  <li><a href="clbk_vessel.htm">ScriptVessel callback functions</a></li>
  <li><a href="clbk_mfd.htm">ScriptMFD callback functions</a></li>
  </ul>

</BODY>
</HTML>